In a multi-node system, nodes often compete for “shared data resources,” such as for example, data blocks in a database. A shared data resource may be concurrently accessed by a number of nodes if accesses by the nodes are compatible. A shared data resource may be blocked from being accessed by a node if the access sought by the node is incompatible with existing accesses that have already been granted to other nodes. Various mechanisms have been developed to coordinate access to shared data resources.
According to one mechanism, access to shared data resources is based on the usage of a fusion protocol. In such a scheme, three nodes may be involved in accessing a shared data resource. For each shared data resource, there is a master (node) that keeps track of which nodes have been granted access and which nodes are waiting for a lock in order to access the shared data resource. For each shared data resource, there is at most one holder (node) who holds an exclusive lock. Node 3, for example, may hold an exclusive lock to a shared data resource in the form of a data block. Node 1 may send a request to the master, indicating a wish to access the data block with an exclusive lock. Determining that node 3 is holding the exclusive lock, the master node informs node 3 of node 1's request for accessing the data block. After node 3 is done with the data block, node 3 ships the data block to node 1. Upon receiving the data block from the node 1, node 3 informs the master that it now owns the data block. This form of 3-way messaging, which involves many inter-nodal messages between three different nodes, can occur frequently in a multi-node system.
Therefore, techniques are needed to reduce overhead of accessing shared data resources in a multi-node system.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.